Unified approach to film mode detection

ABSTRACT

A method for inverse telecine. The method generally includes the steps of (A) checking if a current field of a plurality of fields in a video sequence repeats in the video sequence according to a pattern-based approach where the current field fits a telecine pattern, (B) checking if the current field repeats according to a first pattern-less approach where the current field complies with at least one of a plurality of rules and (C) generating a signal for an encoder in (i) an asserted state if the current field repeats and (ii) a deasserted state if the current field does not repeat.

FIELD OF THE INVENTION

The present invention relates to inverse telecine generally and, more particularly, to a method for robust inverse telecine.

BACKGROUND OF THE INVENTION

Films are conventionally shot at 24 frames per second. In order to smoothly play a film on a television set, the film has to be converted to either a National television System Committee (NTSC) video format (i.e., interlaced 60 fields per second), or a Phase Alternate Line (PAL) video format (i.e., interlaced 50 fields per second) in a process called telecine. In the telecine process, each frame of the film is decomposed into two fields of video, a top field and a bottom field. In the case of converting into NTSC, some of the video fields are repeated. To efficiently encode such a video sequence, it is desirable to detect the repeated fields before actual encoding starts. The process of detecting the repeated fields in a video sequence generated by the telecine process is called inverse telecine. The detection problem is more complicated than expected for several reasons, such as noise introduced in the video processing chain, scene changes and post-editing.

A conventional method to detect repeated fields in a telecined field sequence is to compute a difference between a current field and a previous same-parity field then compare the difference with a predetermined threshold. If the difference is less than the threshold, the current field is declared as a repeated field. The difference can be measured as sum of absolute differences (SAD) or sum of squared differences (SSD) between the two fields. In some real-time systems, the difference is only available at a field level or a strip level (i.e., a strip is a number of horizontal lines of a field), but not at a macroblock level or a pixel level.

The conventional method is very simple to implement in both hardware and software, but is not reliable due to the following reasons. First, the conventional method utilizes knowledge of a noise level in the telecined sequence to determine the threshold. The noise level knowledge is rarely available because different telecine machines generate different noise levels. Furthermore, the noise levels vary with the initial encoding process in transcoding applications. Second, some particular fields may be incorrectly detected as repeated fields (i.e., false positive detections) in scenes with slow motion and/or low-motion because the field differences are very small.

To improve the reliability of inverse telecine, field-to-field motion vectors are conventionally used to detect the repeated fields. In another conventional method, motion estimation is performed between two consecutive same-parity fields. If a field repeats a previous same-parity field, the resulting motion vectors are mainly of zero length. The zero-length motion vectors are used to detect repeated fields. In another conventional method, motion estimation is performed between two fields of the same parity, but the two fields are not limited to be neighbors. Depending on the picture coding structure, the motion vectors of a repeated field are either very small compared with those of the previous same-parity field, or almost identical to those of the previous same-parity field. The very small or almost identical motion vectors are used to detect repeated fields.

The motion vector type methods are not suitable for some video coding systems where field-to-field motion estimation is not available. For example, an efficient way to encode a video sequence converted from a film material is to detect the repeated fields in the video sequence, combine the two fields from the same film frame into a frame and then perform frame coding. In such-situations, field-to-field motion estimation cannot be directly shared by the inverse telecine module and the actual encoding module, resulting in extra cost.

Another type of method to improve the reliability of inverse telecine is to explicitly utilize known telecine patterns. Ten consecutive fields can be examined to match the telecine patterns. If a match is found, the field at a certain position is declared as a repeated field. If a video sequence generated from the telecine process contains mainly regular patterns, some conventional methods work fairly well. However, the resulting patterns may be quite irregular due to post-editing, scene changes, speed varying and insertion of video effects such as fades.

SUMMARY OF THE INVENTION

The present invention concerns a method for inverse telecine. The method generally comprises the steps of (A) checking if a current field of a plurality of fields in a video sequence repeats in the video sequence according to a pattern-based approach where the current field fits a telecine pattern, (B) checking if the current field repeats according to a first pattern-less approach where the current field complies with at least one of a plurality of rules and (C) generating a signal for an encoder in (i) an asserted state if the current field repeats and (ii) a deasserted state if the current field does not repeat.

The objects, features and advantages of the present invention include providing a method and/or architecture for robust inverse telecine that may (i) combine an approach based on telecine patterns (e.g., pattern-based approach) and an approach that does not utilize explicit telecine patterns (e.g., pattern-less approach), (ii) consider both regular 3:2 pull-down patterns and various cartoon pull-down patterns in the pattern-based approach, (iii) detect repeated fields in video sequences with regular telecine patterns and/or irregular telecine patterns, (iv) properly handle cases of scene changes and post-edits where the regular telecine patterns are broken and/or (v) properly handle transitions between different patterns.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects, features and advantages of the present invention will be apparent from the following detailed description and the appended claims and drawings in which:

FIG. 1 is a diagram of an example 3:2 pull-down pattern for an original film frame sequence;

FIG. 2 is a diagram of a first example telecine pattern for an original cartoon frame sequence;

FIG. 3 is a diagram of a second example telecine pattern for the original cartoon frame sequence;

FIG. 4 is a diagram of a third example telecine pattern for the original cartoon frame sequence;

FIG. 5 is a diagram of an example Phase Alternate Line telecine pattern for the original cartoon frame sequence;

FIG. 6 is a flow chart of an example method for inverse telecine in accordance with a preferred embodiment of the present invention;

FIG. 7 is an example state transition diagram based on the 3:2 pull down process;

FIG. 8 is a diagram of an example set of sum of absolute differences values;

FIG. 9 is a block diagram of an example system implementing the present invention; and

FIG. 10 is a TABLE 1 of experimental results.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention generally combines an approach based on telecine patterns (e.g., pattern-based approaches) and an approach that does not utilize explicit telecine patterns (e.g., pattern-less approaches). In the pattern-based approach, a regular 3:2 pull-down pattern and one or more cartoon pull-down patterns may be considered.

In a first pattern-less approach, an existence of a particular pattern in a field sequence may be uncertain. Instead, knowledge of telecine patterns may be integrated into decision rules. Examples of such knowledge about telecine patterns include, but are not limited to, (i) a minimum number and a maximum number of repeated fields over a window of a certain number of fields and (ii) a minimum number and a maximum number of non-repeated fields over a window of a certain number of fields.

In a second pattern-less approach, the candidacy of the field to be a repeated field may be determined. The candidacy may be based on (i) a sum of absolute differences (SAD) and/or a DC difference (DC_diff) between a current field and previous neighbor fields and (ii) statistics of the previous neighbor fields in a small window. If the current field is determined to be a candidate, a determination may be made whether or not the current field is indeed a repeated field based on a relatively longer history of the current field.

Referring to FIG. 1, a diagram of an example 3:2 pull-down pattern for an original film frame sequence is shown. The 3:2 pull down sequence (or pattern) generally comprises a repeated field following four non-repeated fields. In the figures, the repeated fields are generally highlighted by underlining.

A 3:2 pull-down telecine process generally converts a video frame sequence into a video field sequence with some repeated fields. For example, let F₁ F₂ F₃ . . . be a frame sequence of a film that may be generated at a number of frames (e.g., 24) per second. To convert the frame sequence into a field sequence of a National Television System Committee (NTSC) video, the following telecine process is generally used. Frame F₁ may be decomposed into two fields (e.g., T₁ and B₁, where “T” generally stands for a top field and “B” for a bottom field.) Frame F₂ may be decomposed into two fields, (e.g., T₂ and B₂). The field T₂ may then be repeated after the field B₂ such that three fields (e.g. , T₂, B₂, T₂) are generally created from the frame F₂ whereas two fields (e.g., T₁ and B₁) are generally created from the frame F₁. Frame F₃ may be decomposed into two fields (e.g., T₃ and B₃). Frame F₄ may be decomposed into two fields (e.g., T₄ and B₄). The field B₄ may then be repeated after the field T₄. The above procedure generally repeats itself until all of the frames are processed.

As the result of the 3:2 pull-down process, every 24 frames of film may be converted into 60 fields of video. From FIG. 1, a regular pattern may be seen such that a repeated field appears after every four non-repeated fields. Hereafter, the above five consecutive fields are generally referred to as a 3:2 cycle of the pattern. The 3:2 pull-down process is commonly used in generating programs recorded on Digital Versatile Disks (DVDs).

A cartoon film converted into NTSC video generally uses a field pattern different than the 3:2 pull-down method. The different field pattern may occur in cartoon production because (i) 24 frames per second are normally drawn for scenes with moderate to fast motion and (ii) 12 frames per second followed by frame doubling are normally drawn for scenes with slow motion. Therefore, the frame sequence may look like F₁ F₁ F₂ F₂ F₃ F₃ F₄ F₄ . . . for scenes with slow motion in a cartoon film. If the slow motion frame sequence is passed through the 3:2 pull-down process, the first cartoon pattern as shown in FIG. 2 may appear in the generated video field sequence. The first cartoon pattern shown in FIG. 2 may co-exist with the 3:2 pattern shown in FIG. 1 in a cartoon sequence because both patterns may be generated from the same telecine method.

Referring to FIG. 2, a diagram of a first example telecine pattern for an original cartoon frame sequence is shown. The first telecine cartoon pattern (or sequence) generally comprises (i) a first cartoon cycle having two non-repeated fields followed by (ii) three repeated fields. As such, each frame of the cartoon film may be repeated twice in the telecine sequence. The first telecine pattern may be applied to periods of slow motion in the cartoon film.

Referring to FIG. 3, a diagram of a second example telecine pattern for the original cartoon frame sequence is shown. The second telecine cartoon pattern (or sequence) generally comprises a first cartoon cycle having eight non-repeated fields followed by two repeated fields. A top field and a bottom field corresponding to every fourth frame of the cartoon film may be repeated. The second telecine pattern may be applied to periods of fast motion in the cartoon film.

Referring to FIG. 4, a diagram of a third example telecine pattern for the original cartoon frame sequence is shown. The third telecine cartoon pattern (or sequence) generally comprises (i) two non-repeating fields, (ii) two repeating fields, (iii) two non-repeating fields then (iv) four repeating fields. The third telecine pattern may be applied to periods of slow motion in the cartoon film.

The third telecine pattern may co-exist with the second telecine pattern in FIG. 3 in a telecined cartoon sequence, since the two patterns are generally created from the same telecine method. However, a first set of the patterns in FIG. 1 and FIG. 2 generally do not co-exist with a second set of the patterns in FIG. 3 and FIG. 4, since the two sets may be generated from different telecine methods.

Referring to FIG. 5, is a diagram of an example Phase Alternate Line (PAL) telecine pattern for the original cartoon frame sequence is shown. When a film is converted into the PAL video format, each frame of the film may be decomposed into two fields of video. Generally, no repeated fields are inserted in the pattern. As a result, the converted PAL video may run approximately 4% faster than the original film. The above process is generally called 2:2 pull-down process. The 2:2 pull-down may be applied to a cartoon sequence produced at 12 frames per second followed by frame doubling. A pattern (or sequence) comprising (i) two repeated fields followed by (ii) two non-repeated fields may appear in the converted video sequence as illustrated in FIG. 5.

Statistics may be used to detect repeated fields in a video sequence having a telecine pattern. Let H_(i) be a field. Let G_(i) be the output generated by passing the field H_(i) through a multi-tap (e.g., 3-tap) horizontal filter with fixed coefficients (e.g., ¼, ½, ¼). Each field (H_(i) and G_(i)) is generally divided into strips. Each strip may be multiple (e.g., 32) horizontal lines high. Let a variable (e.g., DC_diff(i)) be a maximum of DC differences between co-located strip pairs in the field H_(i) and a field H_(i-2). A calculation of the variable DC_diff(i) may exclude a top strip and a bottom strip of the fields. Let SAD(i) be the maximum of the SADs between co-located strip pairs in the fields G_(i) and G_(i-2), excluding the top strips and bottom strips. The top strips and bottom strips may be excluded in computing the statistics because, if noise exists in a video field, the top strip and the bottom strip of the field may be more likely to be noisy than the strips in the middle. Processing the field H_(i), generally does not use statistics for any field H_(j) with j>i. The present invention may be implemented without utilizing a look-ahead capability.

Referring to FIG. 6, a flow chart of an example method 100 for inverse telecine is shown in accordance with a preferred embodiment of the present invention. The method 100 generally comprises a step (or block) 102, a step (or block) 104, a step (or block) 106, a step (or block) 108 and a step (or block) 110. If a current input field (e.g., H) is detected as a repeated field at any step, the inverse telecine method 100 generally ends and the current input field H may be declared as a repeated field. If the current input field H is not detected as a repeated field by any of the steps, the current input field H may be declared as a non-repeated field.

The step 102 may be operational to check if the current field H_(i) is a repeated field based on the 3:2 pull-down telecine pattern. The step 104 may be operational to check if the current field H_(i) is a repeated field based on one or more cartoon telecine patterns. The step 106 may be operational to check if the current field H_(i) is a repeated field based on a pattern-less repeated field process. If any of the steps 102, 104 or 106 determine that the current field H_(i) is a repeat, the step 108 may be operational to generate a signal (e.g., REPEAT) in an asserted state (or condition). If all of the steps 102, 104 and 106 fail to identify the current field H_(i) as a repeated field, the step 110 may be operational to generate the signal REPEAT in a deasserted state (or condition).

Referring to FIG. 7, an example state transition diagram 120 based on the 3:2 pull down process is shown. The state transition diagram 120 generally comprises a state 122 and a state 124. The state 122 may be referred to as an ON 3:2 MODE. The state 124 may be referred to as an OFF 3:2 MODE. The OFF 3:2 MODE may be an initial mode. In processing the current field H_(i), the ON 3:2 MODE generally means that there is a repeated field detected in the previous 5 fields (e.g., H_(i-1) to H_(i-5)). The OFF 3:2 MODE generally means that none of the previous 5 fields is detected as a repeated field.

Referring to FIG. 8, a diagram of an example set of SAD values is shown. Let an SAD of the current field H_(i) be stored in SAD[i]. Let:

-   -   SCORE1=SAD[i-5],     -   SCORE2=SAD[i],     -   DIFF1=MIN (SAD[i-6], SAD[i-7], SAD[i-8], SAD[i-9]),     -   DIFF2=MIN (SAD[i-1], SAD[i-29 , SAD[i-3], SAD[i-4]),     -   DIFF_MIN=MIN( DIFF1, DIFF2),     -   SCORE_MAX=MAX (SCORE1, SCORE2).

Referring again to FIGS. 6 and 7, the transition conditions between the ON 3:2 MODE and the OFF 3:2 MODE are generally shown in FIG. 7. The current field H_(i) may be declared as ha repeated field in the step 102 (FIG. 6) whenever a transition into the ON 3:2 MODE occurs. Transitions into the ON 3:2 MODE may be (i) from the ON 3:2 MODE to the ON 3:2 MODE and (ii) from the OFF 3:2 MODE to the ON 3:2 MODE.

Furthermore, consider the patterns shown in FIG. 2 and FIG. 5 for repeated fields detect based on 3:2 pull-down pattern with no pattern transitions allowed. For the current field H_(i), a binary function r(i) may be defined as follows. $\begin{matrix} {{r(i)} = {{{1\quad{if}\quad{{SAD}\lbrack i\rbrack}} < {1.75 \times {number\_ of}{\_ pixels}{\_ in}{\_ a}{\_ strip}}}\&\&}} \\ {{{{{SAD}\lbrack i\rbrack} \times 4} < {{MAX}\left( {{{SAD}\lbrack j\rbrack},{j = {i - 1}},\ldots\quad,{i - 4}} \right)}}\quad} \\ {{{{or}\quad{{SAD}\lbrack i\rbrack}} < {3.5 \times {Number\_ of}{\_ pixels}{\_ in}{\_ a}{\_ strip}}}\&\&} \\ {{{{SAD}\lbrack i\rbrack} \times 6} < {{MAX}\left( {{{SAD}\lbrack j\rbrack},{j = {i - 1}},\ldots\quad,{i - 4}} \right)}} \\ {= {0\quad{{otherwise}.}}} \end{matrix}$ Let R be an n-bit (e.g., 20-bit) unsigned integer with a least significant bit R₀=r(i), R₁=r(i-1), R₂=r(i-2), . . . , R_(n-2)=r(i-(n-2)) and the most significant bit R_(n-1)=r(i-(n-1)). The current field H_(i) is generally declared as a repeated field in the step 104 if the following conditions are satisfied:

-   -   R==0xCE739|| R==0x9CE73|| R==0x39CE7     -   or R==0x33333|| R==0x99999.         Otherwise, the current field H_(i) may be declared as a         non-repeated field. Each of 0xCE739, 0x9CE73, and 0x39CE7         generally contains four cycles of the pattern shown in FIG. 2.         Each of 0x33333 and 0x99999 generally contains five cycles of         the pattern shown in FIG. 5.

The decision rules in the step 106 are generally organized at two levels. First, a candidacy of the current field H to be a repeated field based on the SAD and DC_diff of the current field H and one or more previous neighbor fields in a small window may be determined. Second, if the current field H is determined to be a candidate in the prior step, whether or not the current field H is actually a repeated field may be determined based on a relatively longer history of the current field H. The history of the current field H may not explicitly match with any certain telecine pattern. Instead, implicit knowledge of many telecine patterns may be integrated into a set of decision rules at both levels.

For an current input field H_(n), a function CPD(n) (Candidate Probability Detection) may be defined to represent a candidacy. A value of CPD(n)=1 generally means that the current field H_(n) is a candidate of a repeated field. A value of CPD(n)=0 generally means that the current field H_(n) is not a repeated field. The function CPD(n) may be (i) set to 1 if all of the following conditions are satisfied and (ii) set to 0 if one or more of the conditions are not satisfied: $\begin{matrix} \left. 1 \right) & {{{SAD}(n)} < {1.75 \times {Number\_ of}{\_ pixels}{\_ in}{\_ a}{\_ strip}}} \\ \left. 2 \right) & {{\sum\limits_{i = 1}^{9}\left\lbrack {{{SAD}\left( {n - i} \right)} > {2.5 \times {{SAD}(n)}}} \right\rbrack} \geq 3} \\ \left. 3 \right) & {{{DC\_ diff}(n)} < {0.75 \times {Number\_ of}{\_ pixels}{\_ in}{\_ a}{\_ strip}}} \\ \left. 4 \right) & {{\sum\limits_{i = 1}^{9}\left\lbrack {{{DC\_ diff}\left( {n - i} \right)} > {2 \times {DC\_ diff}(n)}} \right\rbrack} \geq 3} \end{matrix}$

5) In the eight fields H_(n-7), H_(n-6), . . . , H_(n-1) and H_(n), no more than four consecutive fields generally satisfy the conditions 1) through 4).

A repeated field should not be noticeably different from the previous same-parity field. The conditions 1) and 3) may prevent such a field from being declared as a repeated field. A repeated field should have a relatively small SAD and DC_diff, as reflected in the conditions 2) and 4). The condition 2) generally means that a window of the most recent nine fields may have at least three fields with SADs greater than 2.5xSAD(n). The condition 4) generally means that in the same window, at least three fields with DC_diff greater than 2xDC_diff(n) may exist. The window size may be set to 9 in the conditions 2) and 4) for the following reason. Normally, in a window of 9 consecutive fields of a telecined sequence, at least 3 non-repeated fields generally exist. Any window having a size smaller than 9 generally may not guarantee 3 non-repeated fields, as illustrated in FIGS. 1-5.

The condition 5) generally states that, if the five consecutive fields H_(j−4), H_(j−3), H_(j−)2, H_(j−1) and H_(j) satisfy the first four conditions above, then the four fields, H_(j), H_(j+1), H_(j+2), and H_(j+3), may not be considered as candidates for repeated fields. The non-repeat condition is generally based on the fact that no more than four repeated fields may appear consecutively in a regularly telecined sequence, as illustrated in FIGS. 1-5. The condition 5) is generally intended to prevent false positives in scenes with slow motion and/or low motion.

The current field H_(n) may be (i) declared as a repeated field if all the following three conditions are satisfied and (ii) declared as a non-repeated field otherwise: $\begin{matrix} \left. 6 \right) & {{{CPD}(n)} = 1} \\ \left. 7 \right) & {{\sum\limits_{i = 1}^{32}{{CPD}\left( {n - i} \right)}} \geq 4} \\ \left. 8 \right) & {{{SAD}(n)} < {1.75 \times {RunAvg}}} \end{matrix}$ where RunAvg may be a running average of the most recent 4 SADs whose corresponding CPDs may be equal to 1.

The condition 6) generally means that the current field H_(n) may be a candidate to be a repeated field. The condition 7) is generally based on having at least 4 repeated fields in a long window of 32 consecutive fields in a regularly telecined sequence. The condition 7) may be independent of an existence of any particular pattern. Instead, a minimum number of candidates should appear in the recent history of the current field H_(n). The condition 7) generally makes the process robust in dealing with various situations. For example, the condition 7) may allow for transitions between different patterns. Furthermore, the condition 7) may properly handle scene changes where the regular patterns are often broken.

The condition 8) generally means that to be a repeated field, the current field H_(n) should have an SAD not much larger than the SADs of the previous candidates. The SADs of the previous candidates may be tracked by the running average RunAvg.

Referring to FIG. 9, a block diagram of an example system 140 implementing the present invention is shown. The system (or apparatus) 140 generally comprises a circuit (or module) 142, a circuit (or module) 144 and a circuit (or module) 146. A signal (e.g., IN) may be received by the circuit 146. A signal (e.g., OUT) may be generated and present by the circuit 144. The signal REPEAT may be generated by the circuit 142 and transferred from the circuit 142 to the circuit 144.

The signal IN may be a digitized video signal that has undergone telecine processing. The signal IN generally comprises a sequence of fields created from a sequence of film frames and/or a sequence of cartoon frames. The signal OUT may be a compressed bitstream. The compressed bitstream generally represents the digitized video signal in a compressed form.

The circuit 146 may be referred to as a memory circuit. The memory circuit 146 may be configured to buffer up to a predetermined number of fields received in the signal IN. The buffered fields may be transferred to the circuit 142 and the circuit 144 for processing. The memory circuit 146 may be implemented as a dynamic random access memory (DRAM). In some embodiments, the memory circuit 146 may be implemented as a double data rate memory. Other memory technologies may be implemented to meet the criteria of a particular application. The memory circuit 146 may be fabricated on a first chip separate from a second chip containing the circuit 142 and the circuit 144.

The circuit 142 may be referred to as an inverse telecine circuit. The inverse telecine circuit 142 may be operational to detect when fields in the signal IN are repeats. Assertion and deassertion of the signal REPEAT may be performed by the inverse telecine circuit 142 according to the method 100 and the state transition diagram 120. The inverse telecine circuit 142 may be coupled to the memory circuit 146 to access the current field under consideration and one or more previous fields.

The circuit 144 may be referred to as an encoder circuit. The encoder circuit 144 may be operational to compress the fields received in the signal IN to generate the signal OUT. Encoding performed by the encoder circuit 144 may be based in part on the signal REPEAT. If the signal REPEAT is asserted for the current field, the encoder circuit 144 may skip encoding the current field in some embodiments. Instead, a marker may be inserted into the signal OUT to indicate that encoding of the current field was skipped. In other embodiments, the encoder circuit 144 may establish the same-parity previous field (of which the current field is a repeat) as a reference picture used in encoding the current field. If the signal REPEAT is deasserted, the encoder circuit 144 may be operational to perform a conventional encoding of the current field. The current field may be encoded as one of an intra-encoded field (e.g., an I-field), a predicted field (e.g., a P-field) or a bidirectional predicted field (e.g., a B-field). Various encoding standards may be implemented to meet the criteria of a particular application.

Tests of the present invention were conducted on 19 film sequences. The experimental results are generally listed in TABLE 1 as shown in FIG. 10. From TABLE I, the tests generally showed the following:

Very low false positive rates were measured for all of the test sequences. The low false positive rates may be important because false positives (e.g., declaring the current field to be a repeated field when the current field is actually a non-repeated field) are generally considered to be more serious mistakes than false negatives (e.g. declaring the current field to be a non-repeated field when the current field is actually a repeated field).

For sequences generated from a 3:2 pull-down process (e.g., the first six sequences in the table), an average false negative rate of about 7% was measured. The 7% average is slightly better than that of some conventional processes.

For cartoon sequences, an average false negative rate of about 47% was measured. In contrast, the average false negative rate of some conventional processes is almost 100% (e.g., almost no repeated fields are generally detected). The relatively high conventional false negative rates for cartoons may be because cartoons tend to contain scenes with slow motion and/or low motion. The slow motion and/or low motion scenes are often difficult to distinguish from noise in the cartoon sequences.

The performance of present invention may be further improved by one or more of the following approaches. Macro-block level statistics may be used to keep the false positive rate at very low level. Reducing the false positive rate may also reduce the false negative rate. Macro-block level statistics may be especially useful for scenes with low-motion.

Using different parameters for different types of video materials may also provide improved performance. For example, video materials on VHS media normally have relatively high noise. For such materials, the thresholds in the conditions 1) and 3) may be made large to detect more repeated fields.

The present invention may be useful in a variety of applications. For example, the inverse telecine information in the signal REPEAT may be used to efficiently encode a video sequence. In particular, the detected repeated fields may be signaled by in a bitstream with a small number of bits. Furthermore, several video coding standards, such as MPEG-2 and H.264/AVC, generally include syntax elements to indicate repeated/skipped fields.

The inverse telecine information may be used in video processing to reduce cross-chrominance (cross-chroma) noise. Cross-chroma noise generally occurs when a luminance signal contains frequency components near a color sub-carrier frequency and spurious colors are generated in the picture. The cross-chroma artifacts in the repeated pair of fields generally oscillate between two values. A mean of the two values may be an artifact-free chroma value for both fields. For a repeated field, averaging the chroma values of the current field with the repeated field may remove the cross-chroma noise. For a non-repeated field, if good motion matches are found from the current field to each of the two fields in a repeated pair, then an average of the two motion-compensated chroma samples may be an artifact-free chroma value for the current field.

The inverse telecine information may be used in video processing to reduce random noise. For example, an averaging of repeated fields may reduce the level of random noise. Furthermore, in motion compensated noise reduction, the noise-reduced repeated fields may serve as good reference fields.

The function performed by the flow diagram and state transition diagram of FIGS. 6 and 7 may be implemented using a conventional general purpose digital computer programmed according to the teachings of the present specification, as will be apparent to those skilled in the relevant art(s). Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will also be apparent to those skilled in the relevant art(s).

The present invention may also be implemented by the preparation of ASICs, FPGAs, or by interconnecting an appropriate network of conventional component circuits, as is described herein, modifications of which will be readily apparent to those skilled in the art(s).

The present invention thus may also include a computer product which may be a storage medium including instructions which can be used to program a computer to perform a process in accordance with the present invention. The storage medium can include, but is not limited to, any type of disk including floppy disk, optical disk, CD-ROM, magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMS, Flash memory, magnetic or optical cards, or any type of media suitable for storing electronic instructions.

While the invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the spirit and scope of the invention. 

1. A method for inverse telecine, comprising the steps of: (A) checking if a current field of a plurality of fields in a video sequence repeats in said video sequence according to a pattern-based approach where said current field fits a telecine pattern; (B) checking if said current field repeats according to a first pattern-less approach where said current field complies with at least one of a plurality of rules; and (C) generating a signal for an encoder in (i) an asserted state if said current field repeats and (ii) a deasserted state if said current field does not repeat.
 2. The method according to claim 1, wherein step (A) comprises the sub-step of: checking if said current field repeats in a 3:2 pull-down telecine pattern.
 3. The method according to claim 2, wherein step (A) further comprises the sub-step of: checking if said current field repeats in a first cartoon telecine pattern.
 4. The method according to claim 3, wherein step (A) further comprises the sub-step of: checking if said current field repeats in a second cartoon telecine pattern that is different than said first cartoon telecine pattern.
 5. The method according to claim 1, further comprising the step of: checking if said current field repeats according to a second pattern-less approach where a plurality of current statistics for said current field approximate a plurality of previous statistics for a previous field of said video sequence.
 6. The method according to claim 1, wherein said rules comprise: a minimum number of repeated fields and a maximum number of said repeated fields over a window of a predetermined number of said fields.
 7. The method according to claim 1, wherein said rules comprise: a minimum number of non-repeated fields and a maximum number of said non-repeated fields over a window of a predetermined number of said fields.
 8. The method according to claim 1, further comprising the steps of: encoding said current field as one of an intra-predicted field, a predicted field and a bidirectional field in response to deassertion of said signal; and marking said current field as skipped in an encoded bitstream in response to assertion of said signal.
 9. A method for inverse telecine, comprising the steps of: (A) checking if a current field of a plurality of fields in a video sequence repeats in said video sequence according to a first pattern-less approach where said current field complies with at least one of a plurality of pattern rules; (B) checking if said current field repeats according to a second pattern-less approach where a plurality of current statistics for said current field approximate a plurality of previous statistics for a previous field of said video sequence; and (C) generating a signal for an encoder in (i) an asserted state if said current field repeats and (ii) a deasserted state if said current field does not repeat.
 10. The method according to claim 9, further comprising the step of: checking if said current field repeats according to a pattern-based approach where said current field fits a telecine pattern.
 11. The method according to claim 9, wherein said second pattern-less approach comprises the step of: calculating a sum-of-absolute differences between said current field and a plurality of previous fields in said video sequence over a first window.
 12. The method according to claim 11, wherein said second pattern-less approach further comprises the step of: calculating a maximum of a plurality of DC differences between co-located strip pairs in said current field and said previous fields over said first window.
 13. The method according to claim 12, wherein said second pattern-less approach further comprises the step of: determining if said current field repeats over a second window that is longer than said first window.
 14. The method according to claim 9, further comprising the step of: averaging said current field with a previous field in said video sequence that said current field repeats to reduce a chrominance artifact in said current field.
 15. A method for inverse telecine, comprising the steps of: (A) checking if a current field of a plurality of fields in a video sequence repeats in said video sequence in a 3:2 pull-down telecine pattern; (B) checking if said current field repeats in a first cartoon telecine pattern; (C) checking if said current field repeats according to a first pattern-less approach where said current field complies with at least one of a plurality of pattern rules; and (D) generating a signal for an encoder in (i) an asserted state if said current field repeats and (ii) a deasserted state if said current field does not repeat.
 16. The method according to claim 15, further comprising the step of: checking if said current field repeats according to a second pattern-less approach where a plurality of statistics between said current field an a plurality of previous fields in said video sequence indicate a repeat between said current field and one of said previous fields.
 17. The method according to claim 15, wherein said first cartoon pattern comprises (i) two non-repeated first fields then (ii) three repeated second fields.
 18. The method according to claim 15, further comprising the step of: checking if said current field repeats in a second cartoon telecine pattern comprising (i) eight non-repeated first fields then (ii) two repeated second fields.
 19. The method according to claim 15, further comprising the step of: checking if said current field repeats in a third cartoon telecine pattern comprising (i) two non-repeated first fields then (ii) two repeated second fields then (iii) two non-repeated third fields then (iv) four repeated fourth fields.
 20. The method according to claim 15, further comprising the step of: averaging said current field with a previous field of said video sequence to reduce a random noise in said current field. 